package cn.iocoder.yudao.module.cms.qlink.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Tag(name = "快捷链接新增/修改 Request VO")
@Data
public class AdminQlinkSaveReqVO {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6742")
    private Long id;

    @Schema(description = "位置标识：首页九宫格（home_grid）、首页轮播图（home_carousel）、首页横幅（home_banner）", requiredMode = Schema.RequiredMode.REQUIRED, example = "home_banner")
    private String identify;

    @Schema(description = "自身标识：关于我们（about_us）、联系我们（contact_us）", example = "about_us")
    private String subIdentify;

    @Schema(description = "主标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "尊享用户")
    private String title;

    @Schema(description = "副标题", example = "尊享用户权益，更多优惠……")
    private String subTitle;

    @Schema(description = "动作类型：无（none）、打开页面（page）、加载网页（web）、跳转小程序（miniapp）、拨打电话（phone）、播放视频（video）", requiredMode = Schema.RequiredMode.REQUIRED, example = "home_banner")
    private String actionType;

    @Schema(description = "图片地址", example = "https://example.local/x.png")
    private String picUrl;

    @Schema(description = "跳转链接", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://example.local")
    @NotEmpty(message = "跳转链接不能为空")
    private String linkUrl;

    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "排序不能为空")
    private Integer sort;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @NotNull(message = "状态不能为空")
    private Integer status;

}
